﻿using System;
using System.Collections.Generic;

namespace Sustainalytics.Entities
{
    public interface IEntity : IEntity<Guid>
    {
    }

    public interface IEntity<TKey>
    {
        TKey Id { get; set; }
    }

    public interface IHasCompanyId
    {
        Guid CompanyId { get; set; }
    }

    public interface IHasUniverseIds
    {
        List<int> UniverseIds { get; set; }
    }

    public interface IAccountRelatedEntity
    {
        Guid AccountId { get; set; }
    }

    //TODO: Duplicate width IHasCompanyId
    public interface ICompanyRelatedEntity
    {
        Guid CompanyId { get; set; }
    }

    public interface IFileContent
    {
        string MimeType { get; set; }
        string FileName { get; set; }
        byte[] FileContent { get; set; }
    }
}
